Towards Categorizing and Formalizing the JDK API
نویسندگان
چکیده
Formal specification of correct library usage is extremely useful, both for software developers and for the formal analysis tools they use, such as model checkers or runtime monitoring systems. Unfortunately, the process of creating formal specifications is time consuming, and, for the most part, even the libraries in greatest use, such as the Java Development Kit (JDK) standard library, are left wholly without formal specification. This paper presents a tool-supported approach to help writing formal specifications for Java libraries and creating documentation augmented with highlighting and formal specifications. The presented approach has been applied to systematically and completely formalize the runtime properties of three core and commonly used packages of the JDK API, namely java.io, java.lang and java.util, yielding 137 formal specifications. Indirectly, this paper also brings empirical evidence that parametric specifications may be sufficiently powerful to express virtually all desirable runtime properties of the JDK API, and that its informal documentation can be formalized.
منابع مشابه
Towards Formalizing the Java Security Architecture of JDK 1.2
The Java security architecture in the Java Development Kit 1.2 expands the current Java sandbox model, allowing ner-grained, congurable access control for Java code. This new security architecture permits more precise, yet exible, protection for both remote code (loaded across a network connection) and local code (residing on the same machine running the Java Virtual Machine) developed using th...
متن کاملTowards Formalizing the Java Security Architecture of JDK
The Java security architecture in the Java Development Kit 1.2 expands the current Java sandbox model, allowing ner-grained, congurable access control for Java code. This new security architecture permits more precise, yet exible, protection for both remote code (loaded across a network connection) and local code (residing on the same machine running the Java Virtual Machine) developed using th...
متن کاملSpecification and Runtime Verification of API Constraints on Interacting Objects
Most applications need to invoke some Application Programming Interfaces (APIs), e.g. JDK (Java Development Kit) API. When invoking those APIs, applications must follow some API constraints. Violation of these constraints will lead to some severe program defects. To detect this kind of defects, lots of static and dynamic approaches are explored, using formally described API constraints. While m...
متن کاملFormalizing Goals and Objectives in Iranian Educational System: A Historical Analysis
Formalizing goals and objectives within any organization is influenced by many socio-historical factors. To identify the trend in which educational goals and objectives within the Iranian educational system have evolved in terms of the approach, pattern, performance, and attending to individual differences, a historical analysis was undertaken. Findings are indicative of four eras: first, the c...
متن کاملHadoop-BAM: directly manipulating next generation sequencing data in the cloud
Hadoop-BAM is a novel library for the scalable manipulation of aligned next-generation sequencing data in the Hadoop distributed computing framework. It acts as an integration layer between analysis applications and BAM files that are processed using Hadoop. Hadoop-BAM solves the issues related to BAM data access by presenting a convenient API for implementing map and reduce functions that can ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012